package com.git.hui.demo.base.bean.test.base;

import com.git.hui.anno.processor.DoBuilder;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * Created by @author yihui in 10:17 19/7/22.
 */
@DoBuilder(MarketKlineDO.class)
public class InfluxKlineFPO implements Serializable {
    /**
     * 日期2019-01-10,转换成时间戳后时分秒都是0
     */
    private Long time;

    /**
     * 开盘价
     */
    private BigDecimal open;

    /**
     * 最高价
     */
    private BigDecimal high;

    /**
     * 最低价
     */
    private BigDecimal low;

    /**
     * 收盘价
     */
    private BigDecimal close;

    /**
     * 成交量
     */
    private BigDecimal amount;

    /**
     * 涨跌幅
     */
    private BigDecimal changePercent;

    /**
     * 振幅
     */
    private BigDecimal amplitude;

    /**
     * 成交额，rmb单位
     */
    private BigDecimal volume;

    /**
     * 净流入
     */
    private BigDecimal netFlow;

    /**
     * 买卖点:0:默认值,1:买点,2:卖点;3五星买点;4五星卖点
     */
    private Integer salePoint;

    /**
     * 计算KDJ的参数
     */
    private BigDecimal d;

    /**
     * 计算KDJ的参数
     */
    private BigDecimal k;

    /**
     * 计算MACD的参数
     */
    private BigDecimal dEA;

    /**
     * 计算MACD的参数
     */
    private BigDecimal eMA26;

    /**
     * 计算MACD的参数
     */
    private BigDecimal eMA12;

    public Long getTime() {
        return time;
    }

    public void setTime(Long time) {
        this.time = time;
    }

    public BigDecimal getOpen() {
        return open;
    }

    public void setOpen(BigDecimal open) {
        this.open = open;
    }

    public BigDecimal getHigh() {
        return high;
    }

    public void setHigh(BigDecimal high) {
        this.high = high;
    }

    public BigDecimal getLow() {
        return low;
    }

    public void setLow(BigDecimal low) {
        this.low = low;
    }

    public BigDecimal getClose() {
        return close;
    }

    public void setClose(BigDecimal close) {
        this.close = close;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getChangePercent() {
        return changePercent;
    }

    public void setChangePercent(BigDecimal changePercent) {
        this.changePercent = changePercent;
    }

    public BigDecimal getAmplitude() {
        return amplitude;
    }

    public void setAmplitude(BigDecimal amplitude) {
        this.amplitude = amplitude;
    }

    public BigDecimal getVolume() {
        return volume;
    }

    public void setVolume(BigDecimal volume) {
        this.volume = volume;
    }

    public BigDecimal getNetFlow() {
        return netFlow;
    }

    public void setNetFlow(BigDecimal netFlow) {
        this.netFlow = netFlow;
    }

    public Integer getSalePoint() {
        return salePoint;
    }

    public void setSalePoint(Integer salePoint) {
        this.salePoint = salePoint;
    }

    public BigDecimal getD() {
        return d;
    }

    public void setD(BigDecimal d) {
        this.d = d;
    }

    public BigDecimal getK() {
        return k;
    }

    public void setK(BigDecimal k) {
        this.k = k;
    }

    public BigDecimal getdEA() {
        return dEA;
    }

    public void setdEA(BigDecimal dEA) {
        this.dEA = dEA;
    }

    public BigDecimal geteMA26() {
        return eMA26;
    }

    public void seteMA26(BigDecimal eMA26) {
        this.eMA26 = eMA26;
    }

    public BigDecimal geteMA12() {
        return eMA12;
    }

    public void seteMA12(BigDecimal eMA12) {
        this.eMA12 = eMA12;
    }

    public MarketKlineDO build(InfluxKlineFPO kline) {
        return null;
    }

    @Override
    public String toString() {
        return "InfluxKlineFPO{" + "time=" + time + ", open=" + open + ", high=" + high + ", low=" + low + ", close=" +
                close + ", amount=" + amount + ", changePercent=" + changePercent + ", amplitude=" + amplitude +
                ", volume=" + volume + ", netFlow=" + netFlow + ", salePoint=" + salePoint + ", d=" + d + ", k=" + k +
                ", dEA=" + dEA + ", eMA26=" + eMA26 + ", eMA12=" + eMA12 + '}';
    }
}
